Цель работы: познакомить с понятием строка и
выработать навыки работы с символьной информацией в языке программирования PascalАВС
научиться использовать строки символов при решении задач.
Переменные типа string аналогичны массивам типа char. Их отличием является то, что число
символов (длина строки) может динамически меняться в интервале от единицы до
заданного верхнего значения.
Перед выполнением
работы необходимо ознакомиться с правилами описания и использования строк,
допустимых операций над ними, соответствующими стандартными процедурами и
функциями.
Обработка текста: В следующих заданиях под словом "текст"
понимается строка символов, слова в которой, разделены пробелами, специальными
символами '. , : ; ? !' .
1.
Дан текст. Требуется напечатать все слова
с удвоенной буквой "н". Вывести самое длинное и короткое слово из строки.
2.
Дан текст.
а)
Подсчитать количество слов в данной строке.
б)
Подсчитать количество букв "а"
в последнем слове данной строки.
в)
Найти количество слов, начинающихся с буквы "б".
г)
Найти количество слов, у которых первый и последний символы совпадают между
собой.
3.
Составить программу циклической
перестановки букв в словах текста так, что i-я
буква слова становится i+1-ой, а
последняя - первой.
4.
В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак", если
"б" стоит на нечетном
месте.
5.
Дан текст, содержащий от 2 до 30
слов, в каждом из которых от 2 до 10 латинских букв; между соседними
словами - не менее одного пробела. Вывести все слова, отличные от последнего
слова, предварительно преобразовав каждое из них по следующему правилу:
1)
перенести первую букву в конец слова;
2)
перенести последнюю букву в начало слова.
6.
Отредактировать заданное предложения
текста, удаляя из него все слова с нечетными номерами и переворачивая слова с
четными номерами.
Например, HOW
DO YOU DO -> OD OD
7.
Дан текст. Напечатать все слова,
отличные от последнего слова, предварительно преобразовав каждое из них по
следующему правилу:
1)
оставить в слове только первые вхождения каждой буквы;
2)
если слово нечетной длины, то удалить его среднюю букву
8.
Составить таблицу слов данного текста,
начинающихся с буквы "а", с
указанием числа повторений каждого слова.
9.
Составить программу для вычеркивания из
слов текста всех букв, стоящих на нечетных местах после буквы "а".
10.
Посчитать количество английских букв a и b
в слове. В случае если a>b, то
необходимо удалить все b. Перевести
строчные буквы в заглавные.
11.
Вывести из строки все слова, где
количество гласных букв равно согласным. Найти длину самого короткого слова.
12.
Вывести из строки слова, которые
являются числами, кратными заданному числу m.
13.
В тексте все повторяющиеся рядом стоящие
символы удалить. Подсчитать количества вхождений каждого символа в строку.
14.
Изменить строку таким образом, чтобы все
различные символы остались по одному разу, причем остаются последние вхождения
этих символов в строку.
15.
Удалить слова, которые начинаются и
заканчиваются одной буквой, остальные продублировать. Подсчитать число слов в
тексте.
16.
Даны два числа: N1 и N2, и две строки: s1 и s2.
Получить из этих строк новую строку, объединив N1 первых символов строки s1
и N2 последних символов строки s2.
1.
Как описываются строковые переменные?
2.
Какая максимальная длина строки
допустима в Pascal?
3.
Какие операции допустимы над строковыми
данными?
4.
В чем отличие строковой переменной от массива
символов?
5.
Какие стандартные процедуры и функции
для работы со строками вы знаете?